# @Time : 2025-03-26 17:01
# @Author : Fioman 
# @Phone : 13149920693


import sys

from PySide6 import QtWidgets

"""
QWidget
官方文档：https://doc.qt.io/qtforpython/PySide6/QtWidgets/QWidget.html
1.所有可视控件的基类
2.是一个最简单的空白控件
3.控件是用户界面的最小元素
4.每个控件都是矩形的，它们按Z轴顺序排序
5.控件由其父控件和前面的控件裁剪
6.没有父控件的控件，称之为窗口
"""


class MyWidget(QtWidgets.QWidget):
    def __init__(self):
        # self创建时未传入父控件,所以是一个窗口
        super().__init__()
        # 窗口会自动修饰标题,最小化,最大化,关闭按钮,称为框架,可以手动修改其行为
        self.setWindowTitle("QWidget简介")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self) -> None:
        """
        设置界面
        :return:
        """
        # 创建一个名为red的QWidget对象
        red = QtWidgets.QWidget(self)  # red的父控件为self,所以red是一个子控件
        red.resize(100, 100)
        red.setStyleSheet("background-color: red;")  # 设置背景颜色为红色
        red.move(50, 50)  # 体现QWidget的沿z轴绘制,后面的控件可以覆盖前面的控件


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    window = MyWidget()
    window.show()
    sys.exit(app.exec())
